Repository Public
1// Vrai-Prix — analyse multimodale : forcer une nouvelle version (nouvelles photos, correction, nouveau prompt/modèle).2import { NextRequest, NextResponse } from "next/server";3import { AnalysisError, startAnalysis } from "@/lib/cost/ai/service";4import { clientKey, rateLimit } from "@/lib/cost/cache";56export const runtime = "nodejs";7export const maxDuration = 60;89export async function POST(req: NextRequest, { params }: { params: Promise<{ uid: string }> }) {10 const { uid } = await params;11 if (!rateLimit(`ai:${clientKey(req)}`, 3, 10 * 60_000)) return NextResponse.json({ error: "Trop d'analyses lancées — réessayez dans quelques minutes.", code: "rate_limited" }, { status: 429 });12 try {13 const r = await startAnalysis(decodeURIComponent(uid), { force: true });14 return NextResponse.json(r, { status: 202 });15 } catch (e) {16 if (e instanceof AnalysisError) return NextResponse.json({ error: e.message, code: e.code }, { status: e.status });17 return NextResponse.json({ error: (e as Error).message }, { status: 500 });18 }19}20